FIG. 13 illustrates an example of a configuration of a communication network that provides a service of a wide area Ethernet (registered trademark) Local Area Network (LAN) in an MPLS network. In this example, services are provided using a pseudowire and a Virtual Private LAN service (VPLS).
In the MPLS network, there exist edge devices 11, 13 and 14 and a relay device 12. User terminal devices 21, 22 and 23 are respectively connected to the edge devices 11, 13, and 14. The user terminal devices 21, 22, and 23 are provided with the same Ethernet (registered trademark) LAN service. The relay device 12 includes a message processing unit 31 and a bandwidth management unit 32.
In this type of MPLS network, an MPLS tunnel is first set between edge devices that provide services. In the example illustrated in FIG. 13, full-mesh MPLS tunnels are to be set between the edge devices 11, 13, and 14 that are connected to the user terminal devices 21, 22, and 23. Accordingly, an MPLS tunnel 51 is set between the edge devices 11 and 14, an MPLS tunnel 52 is set between the edge devices 11 and 13, and an MPLS tunnel 53 is set between the edge devices 13 and 14.
In order to generate and maintain these MPLS tunnels, signaling messages are exchanged respectively between the edge device 11 and the relay device 12, between the relay device 12 and the edge device 13, and between the edge device 13 and the edge device 14. The message processing unit 31 in the relay device 12 transmits and receives signaling messages.
Next, a Media Access Control (MAC) switch is virtually set for each of the Ethernet (registered trademark) LAN services, and pseudowires are set in the MPLS tunnels so that those MAC switches are connected to each other in a full mesh configuration. In this configuration, Ethernet (registered trademark) LAN services can be provided.
In the example illustrated in FIG. 13, MAC switches 41, 42, and 43 are set respectively for the edge devices 11, 13 and 14 in order to provide a certain service. Further, a pseudowire 61 is set between the MAC switches 41 and 43, a pseudowire 64 is set between the MAC switches 41 and 42, and a pseudowire 66 is set between the MAC switches 42 and 43.
An MPLS tunnel can be shared by a plurality of pseudowires. For example, the pseudowires 62, 63, and 65 in FIG. 13 are pseudowires set for another service. The pseudowires 61 and 62 share the MPLS tunnel 51, the pseudowires 63 and 64 share the MPLS tunnel 52, and the pseudowires 65 and 66 share the MPLS tunnel 53.
It is also possible to set MPLS tunnels between the relay device 12 and the edge devices 11, 13, and 14. In the example illustrated in FIG. 13, an MPLS tunnel 54 is set between the relay device 12 and the edge device 13.
FIG. 14 illustrates an example of a configuration of a packet exchanged between the edge devices in the MPLS network illustrated in FIG. 1. In the packet illustrated in FIG. 14, labels in a two-stage configuration, i.e., an MPLS tunnel label and a pseudowire label, are added to an Ethernet (registered trademark) MAC frame, which is information on a service layer (service layer information). Thereby, a MAC frame is encapsulated in a pseudowire, and is further encapsulated in an MPLS tunnel.
Generally, a bandwidth has to be guaranteed for an MPLS tunnel that is being set in order to provide a service that guarantees a bandwidth in an Ethernet (registered trademark) LAN.
As illustrated in FIG. 15, bandwidth information to be used for the MPLS tunnel 51 is reported, being contained in a Resource Reservation Protocol-Traffic Engineering (RSVP-TE) Path message 81, which is a signaling message for the MPLS tunnel 51. For example, as the identifier of the MPLS tunnel 51, Tunnel1 is reported, and as bandwidth information, 200 Mbps is also reported.
When receiving the RSVP-TE Path message 81 from the edge device 11, the message processing unit 31 in the relay device 12 determines an output interface on the basis of the destination information of the MPLS tunnel.
In the example illustrated in FIG. 15, the relay device 12 communicates with the edge device 11 via an interface 71 and communicates with the edge device 13 via an interface 72. The edge device 13 is connected to the edge device 14. Accordingly, the interface 72 is selected as the output interface for the MPLS tunnel 51.
The bandwidth management unit 32 determines whether or not there is an unused bandwidth as required in the above selected output interface. For this purpose, the bandwidth management unit 32 has a bandwidth management table as illustrated in FIG. 16 for each output interface.
On the bandwidth management table illustrated in FIG. 16, identifier IF2 of the interface 72, identifiers, label values, and bandwidth information of the MPLS tunnels 51, 52, and 54 using the interface 72 as an output interface are registered. Tunnel1, Tunnel2, and Tunnel4 are the identifiers of the MPLS tunnels 51, 52, and 54, respectively. The numbers 45, 46, and 47 are the label values of the MPLS tunnels 51, 52, and 54 respectively.
FIG. 17 is a flowchart illustrating an MPLS tunnel setting process performed by the bandwidth management unit 32. The bandwidth management unit 32 first checks whether or not the RSVP-TE Path message 81, which is a request for setting an MPLS tunnel, includes a bandwidth request (step 91). When that message includes a bandwidth request, the bandwidth management unit 32 refers to a bandwidth management table in order to check whether or not the output interface has an unused bandwidth equal to or broader than the requested bandwidth (step 92).
When the output interface has an unused bandwidth equal to or broader than the requested bandwidth, the bandwidth management unit 32 reduces that unused bandwidth in the output interface by the bandwidth of the requested bandwidth, and generates an entry of a new MPLS tunnel in the bandwidth management table (step 94). Thereafter, the bandwidth management unit 32 reports to the message processing unit 31 the fact that the request for setting an MPLS tunnel is accepted (step 95).
When receiving this report, the message processing unit 31 transmits to the edge device 11 in an upstream stage an RSVP-TE Resv message 84, and transmits to the edge device 13 in a downstream stage an RSVP-TE Path message 82.
When the output interface does not have an unused bandwidth equal to or broader than the requested bandwidth, the bandwidth management unit 32 reports to the message processing unit 31 the fact that the request for setting an MPLS tunnel is denied (step 93). When receiving this report, the message processing unit 31 transmits an error message to the edge device 11.
When it is determined that the RSVP-TE Path message 81 does not include a bandwidth request in step 91, the bandwidth management unit 32 reports to the message processing unit 31 the fact that the request for setting an MPLS tunnel is accepted immediately (step 95).
Each of the edge devices 13 and 14 also executes the similar processes, and sets an MPLS tunnel when the corresponding output interface has a sufficiently broad unused bandwidth. The edge device 13 transmits an RSVP-TE Resv message 85 to the relay device 12, and transmits an RSVP-TE Path message 83 to the edge device 14. The edge device 14 transmits an RSVP-TE Resv message 86 to the edge device 13.
A Label Distribution Protocol (LDP) is also known as a signaling protocol for setting up a pseudowire.
Non-Patent Document 1:
    Network Working Group Request for Comments 3031, January 2001Non-Patent Document 2:    Network Working Group Request for Comments 3032, January 2001Non-Patent Document 3:    Network Working Group Request for Comments 3985, March 2005Non-Patent Document 4:    Network Working Group Request for Comments 4664, September 2006Non-Patent Document 5:    Network Working Group Request for Comments 3209, December 2001Non-Patent Document 6:    Network Working Group Request for Comments 3036, January 2001Non-Patent Document 7:    Network Working Group Request for Comments 4447, April 2006